본문으로 건너뛰기

23.05.28

오늘 한 일

  • 알고리즘 문제 풀이
  • 카공실록 리뷰 작성페이지 구현 / 리팩토링
  • 함수형 프로그래밍 스터디 공부
  • 블로그 글 쓰기
  • 디지털콘텐츠기획 ppt 작성
  • 리액트 스터디 SPA 구현
  • nest.js 강의

함수형 프로그래밍 스터디 공부 8주차

챕터 13 - 함수형 도구 체이닝

체인을 명확하게 만들기

  1. 단계에 이름 붙이기
  • 고차 함수를 함수로 분리하여 이름 붙임

-> 함수 이름을 통해 체인의 각 단계를 명확하게 표현할 수 있음

  1. 콜백에 이름 붙이기
  • 중첩 콜백을 함수로 분리하여 이름 붙임

-> 재사용하기 좋아짐

  1. 두 방법을 비교
  • 어떤 방법이 더 좋은지 코드를 비교해 결정하기

스트림 결합

  • map()과 filter(), reduce() 체인을 최적화하는 것 대부분의 경우에는 여러 단계를 사용하는 것이 더 명확하고 읽기 쉽다! 병목이 생겼을 때만 쓰는 것이 좋음

반복문을 함수형 도구로 리팩터링하기

  • 전략 1. 이해하고 다시 만들기

  • 전략 2. 단서를 찾아 리팩터링

팁 1. 데이터 만들기

데이터를 배열에 넣으면 함수형 도구를 쓸 수 있음

팁 2. 한 번에 전체 배열을 조작하기

고차 함수들은 배열 전체에 동작하기 때문에 함수형 도구 쓸 수 있음

기존 반복문을 함수형 도구로 바꾸어 조작하기

팁 3. 작은 단계로 나누기

인덱스를 가지고 반복하고 있는 경우엔 팁 1을 적용하여 인덱스 배열을 만들고, 팁 2를 적용하여 함수형 도구를 사용하기

체이닝 디버깅을 위한 팁

  • 구체적인 것을 유지하기
    • 각 단계에서 어떤 걸을 하고 있는지 알기 쉽게 이름을 잘 지어야 함
  • 출력해보기
    • 각 단계 사이에 print 구문을 넣어 코드 돌려보아 예상대로 동작하는지 확인할 수 있음
  • 타입을 따라가 보기
    • 함수형 도구는 타입이 있어 각 단계를 지나는 값의 타입을 따라가 보기

내일 할 일

  • 알고리즘 문제 풀이
  • 학교 시험 공부(알고리즘, 소프트웨어공학)
  • 익스텐션 새로운 기능 기획, 옵션 페이지 구현
  • 카공실록 리뷰 작성 페이지 구현 마무리
  • 리액트 SPA 구현
  • nest.js 강의
  • 블로그 글 쓰기